Disk storage system employing a discrete-time sliding mode controller for servo control

ABSTRACT

A discrete-time sliding mode controller (SMC) controls the motion of a read head actuated over a disk storage medium during tracking operations. The discret-time SMC comprises a linear signal generator for generating a linear control signal, and a sliding mode generator for generating a sliding mode signal. These signals are combined and applied to a voice coil motor (VCM) for positioning the read head over a particular data track recorded on the disk. The linear signal generator and the gain (cΓ) −1 Δ are designed such that once the sliding mode variable σ k  crosses the sliding line the first time, it will cross the sliding line in every successive sample period resulting in a zigzag motion about the sliding line wherein σ k  changes sign at every sample period. The switching action and resulting chatter of the sliding mode controller are minimized by adjusting the width of the boundary layer through appropriate selection of predetermined constants Δ and λ. The boundary layer can be made arbitrarily small so as to better approximate and thereby attain the benefits of continuous time SMC. In addition, the required control effort is minimized while still providing adequate immunity to parameter variations and external load disturbances.

RELATED APPLICATIONS

This application is related to U.S. patent application Ser. No.08/943,997 U.S. Pat. No. 5,847,895 entitled “Improved Chatter Reductionin Sliding Mode Control of a Disk Drive Actuator” which is herebyincorporated by reference.

FIELD OF INVENTION

The present invention relates to computer technology, and morespecifically, to controlling the read head actuator in a disk drive.

BACKGROUND OF THE INVENTION

In the above referenced co-pending patent application entitled “ImprovedChatter Reduction in Sliding Mode Control of a Disk Drive Actuator,” asliding mode controller (SMC) is employed for actuating a read head overa disk storage medium during seeks and tracking. One advantage providedby SMC is that it is substantially unaffected by parameter variationsand external load disturbances in the servo system. Thus, SMC is a morerobust control system as compared to more conventional linear controlsystems. Further, in many instances SMC obviates the need for notchfilters to compensate for mechanical resonances typically required inconventional linear controllers. The SMC system of the aforementionedco-pending patent application was derived in continuous-time and theresult implemented in discrete-time without loss of generality orperformance. Continuous-time SMC operates by switching between two ormore feedback systems in order to drive predetermined phase states (orphase state errors) of the system toward a reference point in a phaseplane. A phase state trajectory or sliding line σ is defined in thephase plane, and the phase states are driven toward the sliding line σby the continuous switching action of the SMC.

In continuous-time SMC, the phase states are guaranteed to switch alongthe sliding line σ when the following “existence equation” is satisfied:${\lim\limits_{\sigma->0}{\sigma \frac{\sigma}{t}}} < 0.$

As long as the positive and negative feedback gains in thecontinuous-time SMC are greater than a derived threshold, the inequalityin the above existence equation is satisfied. Furthermore, therobustness of continuous-time SMC to parameter variations and externalload disturbances increases by increasing the magnitude of the switchinggains. However, the extent that the switching gains can be increased islimited by the constraints of the control effort (e.g., the drivecurrent) and the desired power dissipation.

Another problem with continuous-time SMC is that the switching actioncan generate undesirable acoustic and electromechanical “chatter” in thesystem due to the phase states frequently crossing the sliding line σ.The aforementioned co-pending patent application discloses a techniquefor chatter reduction by defining a converging boundary layer around thesliding line σ. This modification reduces the frequency that the SMCswitches between the positive and negative feedback gains by disablingthe switching action while the phase states are within the boundarylayer. Although this technique reduces chatter, it may be sub-optimaldepending on the system dynamics and desired response since it limitsthe maximum slope of the sliding line σ. In addition, this techniquestill may require a large control effort to maintain the desiredrobustness to parameter variations.

There is, therefore, the need for an improved SMC for controlling themotion of a read head in a disk storage system that overcomes thedrawbacks of SMC implemented using the above existence equation. Inparticular, there is a need for an improved SMC that requires lesscontrol effort and that produces less switching noise while stillproviding sufficient immunity to parameter variations and external loaddisturbances.

SUMMARY OF THE INVENTION

A discrete-time sliding mode controller (SMC) is disclosed forcontrolling the motion of a read head actuated over a disk storagemedium during tracking operations. The discrete-time SMC comprises alinear signal generator for generating a linear control signal, and asliding mode generator for generating a sliding mode signal. Thesesignals are combined and applied to a voice coil motor (VCM) forpositioning the read head over a particular data track recorded on thedisk. The sliding mode control signal is generated according to

(cΓ)⁻¹Δsgn(σ_(k))

where (cΓ)⁻¹Δ is a predetermined gain and σ^(k) is a sliding linevariable that represents the position of the system phase statesrelative to a phase state trajectory or sliding line in a phase plane.The linear signal generator and the gain (cΓ)⁻¹Δ are designed such thatonce the sliding mode variable σ_(k) crosses the sliding line the firsttime, it will cross the sliding line in every successive sample periodresulting in a zigzag motion about the sliding line wherein σ_(k)changes sign at every sample period. The linear controller and the gain(cσ)⁻¹Δ are also designed so as to constrain σ_(k) to

σ₃₊₁=λσ_(k)−Δsgn(σ_(k))

where λ and Δ are predetermined constants and λ<1. The above equationensures a quasi-sliding mode condition wherein the magnitude of thesliding mode variable σ(x) is substantially constrained to a boundarylayer

|σ_(k)|≦Δ/(1+λ).

In this manner, the switching action and resulting chatter of thesliding mode controller are minimized by adjusting the width of theboundary layer through appropriate selection of Δ and λ. In fact, theboundary layer can be made arbitrarily small so as to better approximateand thereby attain the benefits of continuous time SMC. In addition, therequired control effort is minimized while still providing adequateimmunity to parameter variations and external load disturbances.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of the disk drive control system of thepresent invention.

FIGS. 2A and 2B show an example data format of a magnetic diskcomprising a plurality of concentric data tracks with embedded servofields.

FIG. 3A shows an example second order system controlled by a slidingmode controller designed using the continuous time existence equation.

FIG. 3B are the phase plane plots for the position error and errorvelocity phase states for the positive and negative feedback modes ofthe control system shown in FIG. 3A.

FIG. 4 illustrates the operation of the sliding mode controller indriving the phase states toward a predetermine linear phase trajectory.

FIG. 5A is a block diagram of the discrete-time sliding mode controllerof the present invention comprising a linear control signal generatorand a sliding line signal generator.

FIG. 5B shows details of the linear control signal generator of FIG. 5A,including a means for estimating the pseudo derivative of the referencesignal.

FIG. 5C shows details of the sliding line signal generator of FIG. 5A.

FIG. 6 illustrates the zigzag switching action of the sliding modevariable σ_(k) and the effect on the magnitude of σ_(k) when the plantgain changes.

FIG. 7 illustrates various regions of operation which defines when thesliding mode variable σ_(k) will cross the sliding line on every sampleperiod, and when the system will become unstable.

FIG. 8A is a block diagram of the discrete-time sliding mode controllercomprising an adaptive processor for adaptively adjusting the gain ofthe plant by minimizing the deviation in the magnitude of σ_(k) fromnominal.

FIG. 8B shows details of the adaptive processor of FIG. 8A.

FIG. 9 is a flow diagram executed by the adaptive processor of FIG. 8A.

FIG. 10 is a plot of the analytical versus simulated values of themagnitude of the sliding mode variable σ_(k) over a range of plant gainvariations.

FIGS. 11A-11D illustrate the step response of the system for variousvalues of plant gain.

FIG. 12 is a plot illustrating chaotic onset of the discrete-time SMCwhere the sliding mode variable σ_(k) does not cross the sliding line onsuccessive sample periods if the plant gain is too low.

FIG. 13 is a plot of the chaotic boundary for various values of theslope of the sliding line c.

FIGS. 14A-14C show the response of the system to various step valueswhen the system is operating near the chaotic boundary.

FIG. 15A shows a first embodiment for estimating the reference signal ina disk storage device by minimizing the position error phase state.

FIG. 15B shows an alternative embodiment for estimating the referencesignal in a disk storage device by minimizing the deviation from nominalin the magnitude of the sliding mode variable σ_(k).

FIG. 15C illustrates a method for estimating an unknown, non-repeatablereference by minimizing the deviation from nominal in the magnitude ofthe sliding mode variable σ_(k).

DETAILED DESCRIPTION OF THE DRAWINGS System Overview

In disk storage systems, such as magnetic and optical disk drives, awrite transducer or write head writes digital data onto a disk storagemedium in response to a write command received from a host system. Thedigital data serves to modulate a current in a write coil or anintensity of a laser beam so that a sequence of corresponding magneticflux or optical transitions are written onto the disk medium in a seriesof concentric or spiral data tracks. To no read this recorded data, aread transducer or read head passes over the disk medium and transducesthe magnetic or optical transitions into pulses in an analog signal.These pulses are then decoded by read channel circuitry to reproduce thedigital data.

The read head is typically actuated over the disk by means of a voicecoil motor (VCM). In magnetic disk storage devices, the read headcomprises a transducing coil suspended by a load beam and actuatedradially over the disk by a rotary type VCM. In optical disk storagedevices, the read head comprises optics and photodetectors housed in asled assembly actuated by a two stage servoing mechanism: a first stageVCM actuator slides the sled assembly along a lead screw for coarsepositioning the read head over a data track while seeking, and a secondstage VCM actuator rotates an optical lens radially for fine positioningwhile tracking.

The servo system performs two functions: a “seek” or “access” functionin which the servo system moves the head to a selected track; and whenthe head reaches the selected track, the servo system commences a “trackfollowing” or “tracking” function in which it accurately positions thehead over a centerline of the track and maintains that position assuccessive portions of the track pass by the head. Servo controlinformation embedded within the data provides inter-track head positioninformation so that a head position error, indicative of a differencebetween the estimated head position and the desired head position, canbe computed. In response to the head position error, the servo controlsystem generates a VCM control signal to align the head over thecenterline of the selected track, thereby driving the head positionerror to zero.

FIG. 1 is an overview of the disk drive control system of the presentinvention. A spin motor 2 spins a magnetic or optical disk 4 withcomputer data recorded thereon under a read head 6. An actuator 8positions the read head 6 over a selected track, and a voice coil motor(VCM) 10 controls the motion of the actuator 8. Read channel circuitry12, connected to receive the analog signal from the read head 6,demodulates the digital data recorded on the disk and transmits servoinformation to a state estimator 14. The state estimator 14 models theVCM control system in order to generate an estimated actuator position16 that is subtracted from a reference actuator position 18 at adder 20to produce an actuator position error X1 22. The reference actuatorposition 18 is the position of a selected track at which data is to beread (plus a runout signal 28 described below). A sliding modecontroller 26, responsive to the actuator position error X1 22, computesan acceleration motor control signal U 28, amplified by amplifier 30,and applied to the VCM 10 to position the read head over the selectedtrack. The state estimator 14 also processes the motor control signal U28 to generate the estimated actuator position 16.

The state estimator 14 filters out errors in the servo positioninformation caused by noise in the recording channel. State estimatorsare well known in the prior art such as described in U.S. Pat. No.4,679,103, the disclosure of which is hereby expressly incorporated byreference. There are also other well known techniques other than stateestimators for generating the actuator phase states for use by thepresent invention.

Referring now to FIGS. 2A and 2B, shown is an exemplary data format of atypical magnetic disk storage medium 4 comprising a plurality ofconcentric data tracks with an inner data track 32 and an outer datatrack 34. Each data track comprises a plurality of sectors 36 and aplurality of servo fields 38 embedded therein. The servo fields 38comprise track number information 40 processed by the state estimator 14to generate the estimated actuator position 16 while seeking theselected track. Once the read head slows to within a predeterminedvelocity as it approaches the selected track, the state estimator 14processes the track number 40 and fine position information, such asservo bursts 42 in the servo fields 38, to align the head over thecenterline of the selected track while reading the data. Servo burstsare commonly employed in magnetic disk storage devices and comprise aplurality of pulses recorded at precise intervals and offsets from thetrack centerline. The magnitude of these burst pulses sensed by the readhead indicates the off track position of the head. In optical diskstorage devices, the off track position information is derived bysensing the read signal's offset from the center of the photodetector.

In both magnetic and optical disk storage devices, the eccentricities ofthe disk storage medium may result in a sinusoidal reference signalreferred to as runout. In FIG. 1, runout is modelled in the system byadding 24 a runout signal 25 to the position reference signal 27representing the static centerline of the selected track. Thus, therunout is modelled as a component of the actual reference signal 18 usedto generate the read head position error phase state X1 22. As describedin greater detail below, it is necessary to derive an estimate of thederivative of the runout signal 25 (if not negligible) in order toenable operation of the sliding mode controller 26 of the presentinvention.

Theory of Operation

Operation of a conventional continuous-time sliding mode controller isunderstood with reference to FIG. 3A. Shown is an example second ordersystem 44 controlled by an example sliding mode controller 45 thatswitches 46 between a positive gain 47 and negative gain 48 notnecessarily equal in magnitude. A position error X1 49 is generated atthe output of adder 50 by subtracting an estimated position 51 of thecontrolled system from a desired position reference command 52. Theposition error X1 49 is multiplied by the positive gain 47 or thenegative gain 48 depending on the state of switch 46 to generate anacceleration command U 53 as the input to the controlled system 44. Theoutput of integrator 54 is the velocity of the controlled system 44which is also the negative of the position error velocity −X2 55. Whenswitch 46 selects the positive gain 47, it is a negative feedbacksystem, and when switch 46 selects the negative gain 48, it is apositive feedback system. In their individual structures the system isunstable; however, the system can be made stable by repeatedly switchingbetween the two structures.

The state space equation in negative feedback is $\begin{matrix}{{\frac{X_{1}}{t} = X_{2}}{\frac{X_{2}}{t} = {{- K}\quad X_{1}}}} & (1)\end{matrix}$

The general solution to equation (1) is

X 1=A sin(Kt+φ)  (2)

X 2={overscore (K)}A cos(Kt+φ)  (3)

Combining equations (2) and (3), $\begin{matrix}{{\frac{X_{1}^{2}}{A^{2}} + \frac{X_{2}^{2}}{K\quad A^{2}}} = 1} & (4)\end{matrix}$

The phase plane plot of equation (4) is a set of ellipses witheccentricities A and {overscore (K)}A as illustrated in FIG. 3B.

The state space equation in positive feedback is $\begin{matrix}{{\frac{X_{1}}{t} = X_{2}}{\frac{X_{2}}{t} = {{+ K}\quad {X_{1}.}}}} & (5)\end{matrix}$

The solution to equation (5) is

X 1=B 1 e ^({overscore (K)}t) +B 2 e ^(−{overscore (K)}t)

X 2 ={overscore (K)}B 1 e ^({overscore (K)}t) =KB 2 e^(−{overscore (K)}t)  (6)

Combining equations (5) and (6), $\begin{matrix}{{\frac{X_{1}^{2}}{4B_{1}B_{2}} - \frac{X_{2}^{2}}{4K\quad B_{1}B_{2}}} = 1} & (7)\end{matrix}$

The phase plane plot of equation (7) is a set of hyperbolas with twoasymptotes as shown in FIG. 3B.

The two individual phase plane trajectories of equations (4) and (7)result in an unstable system since the phase states never reach theorigin. It is possible, however, to reach the origin by driving thephase states along a third phase trajectory defined at the intersectionof the negative and positive feedback trajectories. This is achieved byswitching between the positive and negative gains in response to thecurrent phase state values so that the phase states follow thepredetermined third phase trajectory.

The switching operation is understood with reference to FIG. 4 where thepredetermined third phase trajectory is shown as a linear segment 60.When a new track is selected, the initial actuator position error is atpoint A, and the control system is initially switched to select thepositive gain (i.e., negative feedback). As the actuator begins toaccelerate toward the selected track, the phase states follow the arctrajectory 64 of the negative feedback mode. When the phase states reachthe beginning of the third phase trajectory 60 at the intersection pointB, the sliding mode controller switches to the negative gain and thephase states begin to follow the hyperbola trajectory 66 of the positivefeedback mode. When the phase states cross the third phase trajectory 60at point C, the controller switches back to the positive gain to drivethe phase states along arc 68 back toward the third phase trajectory 60.This switching action is repeated so that the phase states slide alongthe linear segment 60 toward the origin of the phase plane. When thephase states are within a predetermined minimum distance from the originof the phase plane, the system switches to a tracking mode where thesliding mode controller 26 repeatedly switches between positive andnegative feedback in order to maintain the phase states near the originof the phase plane, thereby aligning the read head 6 over the centerlineof the selected track while reading the data.

The time domain response of the control system when the phase statesfollow the sliding line of FIG. 4 is

X 1(t)=X 1(t 1)e ^(−C(t−t1))  (8)

where t1 is the time when the phase states reach the sliding line atpoint B. Equation (8) is the average response of the system along thesliding line and it is substantially unaffected by variations in theparameter K or by external load disturbances. Consequently, it is notnecessary to know the exact parameters of the system in order todetermine the value for K. Equation (8), together with the existenceEquation (11) below, demonstrate that the system's response is firstorder and globally stable within the sliding mode region.

The sliding mode controller determines when to switch between thepositive and negative gains by observing the phase state values. Thelinear phase trajectory of FIG. 4 is defined by

X 2 =−CX 1  (9)

where the constant C is the slope of the linear segment 60. By observingthe phase states, the sliding mode controller switches the gains so that

σ=X 2+CX 1=0.  (10)

The sliding mode controller switches to the positive gain when σX1>0 andto the negative gain when σX1<0 in order to drive the phase statestoward the sliding line.

The overall response of the system is made faster by increasing theslope of the sliding line (i.e., increasing C). However, an importantlimitation in sliding mode control is that the sliding must beconstrained to a region in the phase plane where the positive andnegative feedback phase trajectories intersect in opposite directions.From FIG. 4 it follows that the slope of the sliding line must beconstrained to 0<C<{overscore (K)}. A further relationship derived fromthis constraint is $\begin{matrix}{{\lim\limits_{\sigma->0}{\sigma \frac{\sigma}{t}}} < 0.} & (11)\end{matrix}$

Equation (11) is known as the existence equation and is used todetermine values for the positive and negative gains.

Discrete-Time Sliding Mode Control

The present invention overcomes the drawbacks of sliding mode controlwhich operates according the above-described continuous-time existenceequation (11) by employing discrete-time sliding mode control. Considera discrete-time system

X _(k+1) =ΦX _(k) +ΓU _(k)  (17)

where X is a state matrix representing the phase states of the system(position, velocity, acceleration, etc.), Φ is a linear control matrix,and Γ is a scalar. A discrete-time control law is given by

σ_(k+1)=λσ_(k)−Δsgn(σ_(k))  (18)

where σ_(k) is a sliding mode variable computed from discrete-time phasestate errors ε_(k), λ and Δ are predetermined constants, and sgn(x)returns the sign of x. The discrete-time phase state errors ε_(k), suchas the position error, velocity error, etc., are computed by subtractingthe estimated phase states X_(k) from a reference signal R_(k)

ε_(k) =R _(k) −X _(k)  (19)

or by a suitable means for estimating the phase state errors. Thesliding mode variable σ_(k) of equation (18) is computed by multiplyingthe discrete-time phase state errors ε_(k) by a vector c which definesthe sliding line in the phase plane

 σ_(k) =cε _(k).  (20)

Substituting equation (20) into equation (18) yields

cε _(k+1) =λcε _(k)−Δsgn(σ_(k)).  (21)

Substituting equations (17) and (19) into equation (21) yields

c(R _(k+1)−(ΦX _(k) +ΓU _(k)))=λc(R _(k) −X _(k))−Δsgn(σ_(k)).

Solving for U_(k) yields the control law for the servo problem

U _(k) =c(Φ−λI)(cΓ)⁻¹ε_(k) +c(R _(k+1) −ΦR_(k))(cΓ)⁻¹+Δ(cΓ)⁻¹sgn(σ_(k)).  (22)

Defining

Ψ=c(Φ−λI)(cΓ)⁻¹;

and

Λ_(k+1) =c(R _(k+1) −ΦR _(k))(cΓ)⁻¹;

yields

U _(k)=Ψε_(k)+Λ_(k+1)+Δ(cΓ)⁻¹sgn(σ_(k))  (23)

The control law (23) for the servo problem is a linear combination ofthe error states, a feed-forward term that requires knowledge of thereference, and a switching term based on the sliding line. Note that forthe general regulator problem, the reference term Λ_(k+1) is normallyset to zero for all states which is an accurate model for many systemssuch as magnetic disk storage systems.

Estimation of Λ_(k+1)

The term Λ_(k+1) in the control law (23) approximates the derivative ofthe reference signal R_(k) and is thus called the pseudo derivative ofthe reference R_(k). For a large class of problems, Λ_(k+1) does notpresent a significant problem because the phase state trajectories ofthe system are well defined in an a priori sense, and the systemtrajectories are controlled in real time by manipulating Λ_(k+1).Robotic manipulators are a good example of such systems. However, for awide class of servo systems direct access to the reference is notavailable, and only information at the error node(s) may be used toestimate the apparent reference. Magnetic and optical disk storagedevices are examples of such systems.

Equation (22) can be rewritten as

Λ_(k+1) =U _(k) −cΦ(cΓ)⁻¹ε_(k)+λ(cΓ)⁻¹σ_(k)−Δ(cΓ)⁻¹sgn(σ_(k))  (24)

Using the discrete-time existence equation (18), equation (24) can bewritten as

Λ_(k+1) =U _(k) −cΦ(cΓ)⁻¹ε_(k)+(cΓ)⁻¹σ_(k+1).

For most systems where the reference is changing slowly compared to thesample rate, Λ_(k+1) may be estimated as

Λ_(k+1)≈Λ_(k) =U _(k−1) −cΦ(cΓ)⁻¹ε_(k−1)+(cΓ)⁻σ_(k).  (25)

The accuracy of equation (25) can be improved using a Taylor seriesexpansion

Λ_(k+1)≈Λ_(k)+(Λ_(k)−Λ_(k−1))/T.  (26)

Equation (25) is a function of the prior control effort, the priorerror, and the current value of σ. Other methods could be employed toestimate Λ_(k+1), including Kalman Estimators.

Hardware Description

FIG. 5A is a block diagram of the sliding mode controller 26 of thepresent invention for use in a second order system (the aspects of thepresent invention can easily be extended to higher order systems). Inthis embodiment, the sliding mode controller 22 is responsive to twophase state errors, ε1(k) and ε2(k), which may represent a positionerror and a velocity error of the actuator 8. Various methods are knownin the art for generating phase state errors, including the stateestimator 14 shown in FIG. 1. The phase state errors are input into alinear controller 90 and a sliding line controller 92, and their outputsare combined at adder 94 to implement the control effort U_(k) ofequation (23). The sliding line controller 92 generates the sliding linevariable σ_(k) which is input into the linear controller 90 for use incomputing the pseudo derivative reference term Λ_(k+1).

Details of the linear controller 90 of FIG. 5A are shown in FIG. 5B. Theerror phase states are multiplied 96 by

c(Φ−λI)(cΓ)⁻¹

to generate the term

Ψε_(k)

of equation (23). To generate an estimate of the pseudo derivativereference term Λ_(k+1), the phase state errors are delayed through delayelements 98A and 98B and then multiplied 100 by

cΦ(cΓ)⁻¹

to generate the term

cΦ(cΓ)⁻¹ε_(k−1)

of equation (25). The sliding line variable σ_(k) is multiplied 102 by

 (cΓ)⁻¹

to generate the term

(cΓ)⁻¹σ_(k)

of equation (25). The control effort U_(k) is delayed by delay element104 and the estimated pseudo derivative reference (PDR) term Λ_(k)generated at the output of adder 106 thereby implementing equation (25).The first difference 108 of Λ_(k) is computed and added 110 to Λ_(k) togenerate the estimated PDR term Λ_(k+1) according to equation (26). Theestimated PDR term Λ_(k+1) is then added 112 to the output of multiplier96 to generate the term

Ψε_(k)+λ_(k+1)

of equation (23).

Details of the sliding line controller 92 of FIG. 5A are shown in FIG.5C. The phase state errors are multiplied 114 by the sliding line cwhere c defines the phase state trajectory in the phase plane asdescribed above. For example, in equation (16) the sliding line c isdefined as

c=[1, C 3].

The multiplication of the phase state errors by the sliding line cgenerates the sliding line variable σ_(k) per equation (20). The sign116 of the sliding line variable σ_(k) is multiplied 118 by

μ=Δ(cΓ)⁻¹

to generate the term

μsgn(σ_(k))

of equation (23).

σ_(k) Steady State

In the control law of equation (18), σ_(k) is non-increasing and changessign on successive sample periods. When σ_(k)<0, to maintain stabilityand simultaneous switching it requires

σ_(k+1)≦−σ_(k).

From the above equations

cε _(k+1) ≦−cε _(k);

c(R _(k+1)−(ΦX _(k) +ΓU _(k)))≦−cε _(k).

Solving for U_(k) yields

U _(k) ≧c(Φ+I)(cΓ)⁻¹ε_(k) +c(r _(k+1) −ΦR _(k))(cΓ)⁻¹.  (27)

However, an expression for U_(k) has already been derived in equation(22). Substituting equation (22) into (27) yields

c(Φ−λI)(cΓ)⁻¹ε_(k) +c(R _(k+1) −ΦR_(k))(cΓ)⁻¹+Δ(cΓ)⁻¹sgn(σ_(k))≧c(Φ+I)(cΓ)⁻¹ε_(k) +c(R _(k+1) −ΦR_(k))(cΓ)⁻¹

Combining terms and simplifying leads to

(−λcε _(k)+Δsgn(σ_(k))≧cε _(k)

which leads to

Δ/(1+λ)sgn(σ_(k))≧σ_(k)

A similar result follows for σ_(k)<0 with the inequality reversed, whichleads to

−Δ/(1+λ)≦σ_(k)≦Δ/(1+λ).  (28)

Equation (28) specifies that the absolute magnitude of the sliding modevariable σ_(k) will be constrained within a boundary layer such that

 |σ_(k)|≦Δ/(1+λ)

The width of the boundary layer is a function of the Δ, λ and thesampling rate. The width of the boundary layer is generally definedthrough selecting an appropriate value for Δ, whereas the time constantof the loop is generally defined through appropriate selection of λ andthe slope of the sliding line c. The system's insensitivity to parametervariations and load disturbances is increased by increasing the width ofthe boundary layer (i.e., increasing Δ), the trade-off being an increasein the required control effort and an increase in switching noise.

As described in greater detail below, the servo system can be adapted inreal time so as to maintain the optimal condition where the magnitude ofthe sliding mode variable σ_(k) in steady state remains constant (i.e.,σ_(k+1)=−σ_(k)) while satisfying the discrete-time switching conditionof crossing the sliding line at every sample period. This maintains aconstant, and arbitrarily small boundary layer that in turn minimizesthe switching noise.

Design of the Sliding Line

The steady state behavior of σ_(k) as described above can be used todetermine the optimal value for the sliding line c. Multiplying bothsides of equation (28) by ε_(k) ^(T) yields

σ_(k)ε_(k) ^(T) =cε _(k)ε_(k) ^(T)=Δ/(1+λ)sgn(σ_(k))ε_(k) ^(T).

Taking the expectation E of both sides with E(ε_(k) ^(T))=0, yields thematrix equation

cE(ε_(k)ε_(k) ^(T))=0.  (29)

Expanding equation (29) and assuming a second order system without lossof generality, yields the simultaneous equations

c ₁ E(ε_(k) ¹ε_(k) ¹)+E(ε_(k) ¹ε_(k) ²)=0

c ₁ E(ε_(k) ²ε_(k) ¹)+E(ε_(k) ²ε_(k) ²)=0

For a stationary or deterministic process

E(ε_(k) ¹ε_(k) ²)=E(ε_(k) ²ε_(k) ¹).

Solving the simultaneous equations results in an expression for c

c ₁ ² =E(ε_(k) ²ε²)/E(ε_(k) ¹ε_(k) ¹).  (30)

Equation (30) illustrates that the slope of the sliding line c is afunction of the ratio between the rms error of the two states (i.e., theratio of the rms position error over the rms velocity error) for asecond order system. The expected rms position error is generally one ofthe design criteria of a system, and is therefore known (it is usuallyspecified as a ratio between the reference and the error at specificreference frequencies). The rms velocity error will follow as a resultof the system model.

Adapting to Plant Gain Variations

The present invention uses the discrete-time existence equation (18)together with the sliding mode condition that σ_(k) cross the slidingline at every sample instance in order to adapt the controller tocompensate for gain variations in the plant due, for example, totemperature or parameter drift. Adapting to gain variations in the plantincreases the system's insensitivity to parameter variations withouthaving to increase the boundary layer and attendant switching noise.Furthermore, because the boundary layer is minimized, the slope of thesliding line can be increased to a more optimal value while maintainingglobal stability.

Expressing the plant gain variation as β (with β=1 nominal), thediscrete-time system (17) can be rewritten as

X _(k+1) =ΦX _(k) +βΓU _(k).

From equations (22) and (23), algebraic manipulations leads to thediscrete-time error equation

ε_(k+1)=ε_(k)(Φ−βΓΨ)+(I−βΓc(cΓ)⁻¹)(R _(k+1) −ΦR_(k))−βΓΔ(cΓ)⁻¹sgn(σ_(k)).  (31)

Multiplying by c and simplifying results in an expression for σ

σ_(k+1) =c(1−β)(R _(k+1) −ΦR _(k))+(1−β)cΦε_(k)+β(λσ_(k)−Δsgn(σ_(k))).  (32)

The third term in equation (32) is equivalent to the nominal value ofσ_(k+1) multiplied by the gain variation β and thus represents a directmeasurement of the plant gain departure from nominal. The first andsecond terms of equation (32) represent movement away from the nominalgain of unity. This is understood with reference to FIG. 6 which showsthe sliding line c and the nominal amplitude Δ/(1+λ) of the sliding modevariable σ_(k) according to equation (28). Thus, when the gain isnominal (β=1) the sliding mode variable σ_(k) will switch betweenpositive and negative values at every sample period and remain on thedashed lines representing the sliding line boundary layer. If the plantgain decreases then the magnitude of the sliding mode variable σ_(k)will decrease, and if the plant gain increases the magnitude of thesliding mode variable σ_(k) will increase as shown in FIG. 6. Thus, oneadaptive strategy is to adapt the loop gain in order to adjust themeasured value of σ_(k) toward the nominal steady state value Δ/(1+λ)(i.e. toward the dashed lines in FIG. 6).

As discussed in greater detail below, if the gain of the plant dropsbelow a certain threshold, then the sliding mode variable σ_(k) will notcross the sliding line and change sign on every sample period.Conversely, if the gain exceeds a certain threshold, then the systemwill become unstable. Thus, there are three regions of operation asillustrated in FIG. 7 which is a plot of the gain variance β versus themagnitude of the sliding mode variable σ_(k). In region I, the gain ofthe plant is below the lower threshold and σ_(k) does not switch acrossthe sliding line at every sample period. In region III, the gain of theplant exceeds the upper threshold and the system is unstable. In theregion between I and III (region II), the system is stable and thesliding mode variable σ_(k) crosses the sliding line and changes sign onevery sample period. Thus, the system will operate normally and adapt tochanges in the plant gain as long as the gain changes slow enough suchthat magnitude of σ_(k) remains within region II.

FIG. 8A is a block diagram of the adaptive, discrete-time sliding modecontroller of the present invention. The sliding line variable σ_(k)output by the sliding line controller 92 is processed by an adaptiveprocessor 120 which in turn adjusts the plant gain Kpa 30 according tothe flow diagram of FIG. 9. First at step 122 a check is made todetermine if the sliding line variable σ_(k) is crossing the slidingline and changing signs at every sample period. If not, then a loop isexecuted where the plant gain is incremented at step 124 until σ_(k)begins to switch at every sample interval. Then at step 126 a branch isexecuted based on the absolute magnitude of σ_(k). If the magnitude ofσ_(k) is greater than nominal (i.e, greater than Δ/1+λ), then at step128 the plant gain is decreased incrementally. If at step 126 themagnitude of σ_(k) is less than nominal, then the plant gain isincreased incrementally at step 130. Steps 128 and 130 are repeateduntil the magnitude of σ_(k) reaches the nominal value of Δ/1+λ.

Details of the adaptive processor 120 of FIG. 8A are shown in FIG. 8B.The adaptive processor 120 comprises: a switching detector 121 fordetermining whether σ_(k) is switching across the sliding line at everysample interval, an amplitude detector 123 for measuring the absolutemagnitude of σ_(k), an error detector 125 for detecting an error betweenthe measured amplitude of σ_(k) and the nominal amplitude, and astability detector 127 for detecting when the system has the potentialfor going unstable (i.e., when σ_(k) crosses into region III 2 in FIG.7).

Many filtering options exist for implementing the switching detector121; in FIG. 8B, a simple one-delay correlator is employed whichoperates according to the following equation$D_{k} = {\frac{1}{m}{\sum\limits_{j = 0}^{m}{{{sgn}\left( \sigma_{k - j} \right)}{{sgn}\left( \sigma_{k - j - 1} \right)}}}}$

where m is a predetermined integer. In the above equation, if all mprior values of σ_(k) have changed sign, then D_(k) would equal −1. Ifnot, then D_(k)>−1. A threshold 129 may be employed in the switchingdetector 121 to compensate for noise; for example, −1<D_(k)>t where t isthe threshold based upon anticipated noise. More filtering may be addedif necessary by prior filtering σ_(k) prior to the correlator.

When σ_(k) is in region II or III of FIG. 7, it is necessary todetermine the magnitude for σ_(k) which is then compared to the nominalvalue to generate the error signal, as well as to determine stability ofthe system. In these regions, the magnitude of σ_(k) is either constantor increasing, therefore the first difference of σ_(k) is a convenientdetector (other techniques, such as the rms value of sigma are alsopossible). If the first difference is constant, then operation in regionII is assured. If the first difference is increasing, then σ_(k) is inregion III. The amplitude detector 123 of FIG. 8B operates according to

Sam_(k)=|σ_(k)−σ_(k−1)|_(F)

where the subscript F denotes a filtering operation 131 on the absolutevalue 133 of the first difference 135. The filter is chosen based on theexpected noise; a simple moving average filter with binary coefficientswill generally suffice.

The error detector 125 of FIG. 8B generates the error between themeasured amplitude of σ_(k) and the nominal amplitude; the error is thenused in the adaptation algorithm as described above. The nominal valuefor the amplitude of σ_(k) is

Δ/(1+λ)

the error is detected as

err_(k)=2Δ/(1+λ)−|σ_(k)−σ_(k−1)|_(F).

The stability detector 127 of FIG. 8B determines when σ_(k) has crossedover into region III of FIG. 7 where the system may become unstable.Detecting when σ_(k) crosses into region III allows higher gains to beused in the adaptation algorithm. Furthermore, the adaptive,discrete-time sliding mode controller of the present invention canstabilize an unstable system when σ_(k) crosses into region III. Thestability detector 127 is implemented by passing the measured amplitudeof σ_(k) through a simple 1-D low-pass filter, and comparing the outputto a threshold 137. When the average amplitude of σ_(k) exceeds thethreshold 137, it has crossed into region III of FIG. 7.

The output of the switching detector 121 and stability detector 127 areused to determine which of the three regions in FIG. 7 σ_(k) iscurrently in. Based on this decision, the gain of the adaptation loop isadjusted by selecting one of three predetermined gains through amultiplexer 139 as shown. The decision logic 141 and gain selected isillustrated in the following table

TABLE 1 Stability σ_(k) Sign Selected Detector Correlator Gain Unstable— G1 Stable Switching Every G2 Sample Stable Not Switching Every G3Sample

The selected gain is then multiplied 143 by the error in σ_(k) and theresult added 145 to the previous gain adjustment value β_(k−1) togenerate the current gain adjustment value β_(k). The gain adjustmentvalue β_(k) is then used to adjust the gain of the system amplifier 30shown in FIG. 1.

The above-described adaptation strategy will work for small deviationsof σ_(k) from nominal, but may not be adequate for cases where thedeviation is significant since the first and second terms may dominatethe third term in equation (32). To determine the regions where theadaptation strategy will work, it is first necessary to determine thesteady state value of the errors ε_(k) and by inference σ_(k).

ε_(k) Steady State

The steady state errors ε_(k) can be determined using equation (31).Defining

Φ₀=Φ−βΓΨ

 A=I−βΓc(cΓ)⁻¹

B=βΓΔ(cΓ)⁻¹

equation (31) can be written asɛ_(k + 1) = Φ₀ɛ_(k) + A(R_(k + 1) − Φ  R_(k)) − B  sgn(σ_(k))$\begin{matrix}{ɛ_{k + 2} = {{\Phi_{0}ɛ_{k + 1}} + {A\left( {R_{k + 2} - {\Phi \quad R_{k + 1}}} \right)} - {B\quad {{sgn}\left( \sigma_{k + 1} \right)}}}} \\{= {{\Phi_{0}^{2}ɛ_{k}} + {\Phi_{0}{A\left( {R_{k + 1} - {\Phi \quad R_{k}}} \right)}} - {\Phi_{0}B\quad {{sgn}\left( \sigma_{k} \right)}} +}} \\{{{A\left( {R_{k + 2} - {\Phi \quad R_{k + 1}}} \right)} - {B\quad {{{sgn}\left( \sigma_{k + 1} \right)}.}}}}\end{matrix}$ $\begin{matrix}{ɛ_{k + 3} = {{\Phi_{0}ɛ_{k + 2}} + {A\left( {R_{k + 3} - {\Phi \quad R_{k + 2}}} \right)} - {B\quad {{sgn}\left( \sigma_{k + 2} \right)}}}} \\{= {{\Phi_{0}^{3}ɛ_{k}} + {\Phi_{0}^{2}{A\left( {R_{k + 1} - {\Phi \quad R_{k}}} \right)}} - {\Phi_{0}^{2}B\quad {{sgn}\left( \sigma_{k} \right)}} +}} \\{{{\Phi_{0}{A\left( {R_{k + 2} - {\Phi \quad R_{k + 1}}} \right)}} - {\Phi_{0}B\quad {{sgn}\left( \sigma_{k + 1} \right)}} +}} \\{{{A\left( {R_{k + 3} - {\Phi \quad R_{k + 2}}} \right)} - {B\quad {{{sgn}\left( \sigma_{k + 2} \right)}.}}}}\end{matrix}$

$\begin{matrix}\begin{matrix}{ɛ_{k + n} = {{\Phi_{0}^{n}ɛ_{k}} +}} \\{{\sum\limits_{j = 0}^{n - 1}{\Phi_{0}^{j}\left( {A\left( {\left( {R_{k + n - j} - {\Phi \quad R_{k + n - j - 1}}} \right) - {B\quad {{sgn}\left( \sigma_{k + n - j - 1} \right)}}} \right)} \right)}}}\end{matrix} & (33)\end{matrix}$

Equation (33) may be simplified if we first consider the regulatorproblem where R=0. The steady state regulator error may be determined bytaking the limit of the resulting equation $\begin{matrix}{{\lim\limits_{n->\infty}ɛ_{k + n}} = {\lim\limits_{n->\infty}\left\{ {{\Phi_{0}^{n}ɛ_{k}} - {\sum\limits_{j = 0}^{n - 1}{\left( {\Phi_{0}^{j}B} \right){{sgn}\left( \sigma_{k + n - j - 1} \right)}}}} \right\}}} & (34)\end{matrix}$

With the assumption that the sign of σ changes on successive sampleintervals, equation (34) represents a geometric series which can befurther reduced $\begin{matrix}{{\lim\limits_{n\rightarrow\infty}\left\{ {{\Phi_{0}^{n}ɛ_{k}} - {\sum\limits_{j = 0}^{n - 1}{\left( {\Phi_{0}^{j}B} \right){{sgn}\left( \sigma_{k + n - j - 1} \right)}}}} \right\}} =} & (35) \\{{\lim\limits_{n\rightarrow\infty}\left\{ {{\Phi_{0}^{n}ɛ_{k}} - {\sum\limits_{j = 0}^{n - 1}{\Phi_{0}^{j}{B\left( {- 1} \right)}^{n - j - 1}}}} \right\}} =} & \quad \\{\lim\limits_{n\rightarrow\infty}\left\{ {{\Phi_{0}^{n}ɛ_{k}} - {\sum\limits_{j = 0}^{n - 1}{\left( {I - {\left( {- 1} \right)^{n - j}\Phi_{0}^{j + 1}}} \right)\left( {I - {\left( {- 1} \right)^{1}\Phi_{0}}} \right)^{- 1}B}}} \right.} & \quad\end{matrix}$

With all elements of Φ₀ less than one, equation (35) reduces to$\begin{matrix}{{\lim\limits_{n\rightarrow\infty}ɛ_{k + n}} = {{{\lim\limits_{n\rightarrow\infty}\left\{ {\Phi_{0}^{n}ɛ_{k}} \right\}} + {\left( {I + \Phi_{0}} \right)^{- 1}B}} = {0 + {\left( {\left( {I + \Phi_{0}} \right)^{- 1}\beta} \right){{\Gamma\Delta}\left( {c\quad \Gamma} \right)}^{- 1}}}}} & (36)\end{matrix}$

The steady state value of σ may also be determined from equation (36).Multiplying by c and sgn (σ_(k)), σ_(k+1) is

σ_(k+1) =c(I+Φ₀)⁻¹βΓΔ(cΓ)⁻¹sgn(σ_(k)).  (37)

FIG. 10 shows the analytical solutions overlaid with the simulatedvalues for σ steady state. Note that for certain threshold values of βless than one, the analytical solutions do not agree with the simulatedvalues. These regions correspond to areas where the assumption ofsgn(σ_(k+1))=−sgn(σ_(k)) is violated and equation (37) is no longervalid. FIGS. 11A-11D show a series of step responses with varying plantgain (beta).

Sufficient Conditions for Zero Crossing

The assumption that a will cross the sliding line and change sign atevery sample period depends on the values selected for the sliding modevariables c, λ and Δ, as well as the plant transfer function and gainvariation β. The values which satisfy this condition can be determinedfrom equations (31) and equation (34). From equation (34), the error forthe regulator problem (R=0) at state k+n is$ɛ_{k + n} = {{\Phi_{0}^{n}ɛ_{k}} - {\sum\limits_{j = 0}^{n - 1}{\left( {\Phi_{0}^{j}B} \right){{sgn}\left( \sigma_{k + n - j - 1} \right)}}}}$

From equation (31), the error at state k+n+1 is

ε_(k+n+1)=Φ₀ε_(k+n) −Bsgn(σ_(k+n)).

Therefore, for σ_(k+1)>0 a sign change will occur at every sample periodif

cε _(k+n+1)<0

cΦ ₀ε_(k+n) −cBsgn(σ_(k+n))<0

cΦ ₀ε_(k+n) <cB.

A similar result can be derived for σ_(k+1) <0 resulting in the combinedrequirements of

−cB<cΦ ₀ε_(k+n) <cB.  (38)

Equation (38) is valid for any location of σ in the phase plane.Assuming equation (38) is satisfied such that σ changes sign at everysample period, equation (38) can be written as

−cB<cΦ ₀(I+Φ ₀)⁻¹ <cB.  (39)

Expanding equation (38) using equation (34) and multiplying by (cB)⁻¹,equation (39) can be written as $\begin{matrix}{{- 1} < {\lim\limits_{n\rightarrow\infty}{\left\{ {{c\quad \Phi_{0}^{n + 1}ɛ_{k}} - {c{\sum\limits_{j = 1}^{n - 1}{\Phi_{0}^{j}B\quad {{sgn}\left( \sigma_{k + n - j - 1} \right)}}}}} \right\} \left( {c\quad B} \right)^{- 1}}} < 1} & (40)\end{matrix}$

Assuming that the initial condition term tends to zero, equation (40)can be written as $\begin{matrix}{{- 1} < {\lim\limits_{n\rightarrow\infty}{c\left\{ \quad {\Phi_{0}^{1}B\quad \left( {{{sgn}\left( \sigma_{k + n} \right)} + {\Phi_{0}^{2}\quad {B\left( {{{sgn}\left( \sigma_{k + n + 1} \right)} + \ldots} \right)}}} \right)} \right\} \left( {c\quad B} \right)^{- 1}}} < 1} & (41)\end{matrix}$

If successive values are non-increasing, then the series in equation(41) will converge to a bounded value between zero and one. Theconditions for assuring that σ will cross the sliding line and changesign on every sample period is thus

cΦ ₀ ^(j+1) B<cΦ ₀ ^(j) B  (42)

FIG. 12 demonstrates equation (42) for a given system with c=[0.8 1]over a range of values for the plant gain (beta). When the plant gain βfalls below a certain threshold, equation (42) is violated and thesystem becomes chaotic. The region where equation (42) is violated isprimarily a function of the sliding line c and the gain β. FIG. 12illustrates that the analytical estimates of steady state behavior arelower bounds to the potential steady state behavior. FIG. 13 shows thevalue of β that delineates the chaotic boundary for each value of c.

When equation (42) is violated and the system becomes chaotic, thesteady state behavior will depend on the initial conditions of thesystem. It is possible that the steady state behavior, while stable, maybe significantly different depending on initial conditions. FIGS.14A-14C illustrate this by showing step responses of varying amplitudeswhile the system is in the chaotic region. Notice that in FIG. 14A andFIG. 14B when the amplitude of the step response is −0.1 and −0.2, σdoes not change sign on every sample period, whereas in FIG. 14C σ doeschange sign on every sample period when the amplitude of the stepresponse is −0.5.

Extension to the Servo Problem

The above analysis of discrete-time sliding mode control applied to aregulator can be extended to a servo system having a non-zero referencesignal. For σ_(k+1)>0 the above analysis with a non-zero referencesignal leads to

cε _(k+n+1)<0

cΦ ₀ε_(k+n) +cA(R _(k+n+1) −ΦR _(k+n))−cBsgn(σ_(k+n))<0

cΦ ₀ε_(k+n) +cA(R _(k+n+1) −ΦR _(k+n))<cB.

A similar result can be derived for σ_(k+1)<0 resulting in the combinedrequirements of

−cB<cΦ _(0ε) _(k+n) +cA(R _(k+n+1) −ΦR _(k+n))<cB.  (43)

Equation (43) is valid for all locations of σ in the phase plane, and itdoes not require that steady state behavior be attained. For thespecific case of steady state behavior where σ crosses the sliding lineand changes sign on every sample period, further simplification ispossible${\lim\limits_{n\rightarrow\infty}\left\{ {{c\quad \Phi_{0}ɛ_{k + n}} + {c\quad {A\left( {R_{k + n + 1} - {\Phi \quad R_{k + n}}} \right)}}} \right\}} = {{\lim\limits_{n\rightarrow\infty}\left\{ {{c\quad \Phi_{0}^{n + 1}ɛ_{k}} - {c\quad \Phi_{0}{\sum\limits_{j = 0}^{n - 1}{\Phi_{0}^{j}{A\left( {R_{k + n - j} - {\Phi \quad R_{k + n - j - 1}}} \right)}}}}} \right\}} + {\left( {c\quad A} \right)\left( {R_{k + n + 1} - {\Phi \quad R_{k + n}}} \right)} - {\lim\limits_{n\rightarrow\infty}\left\{ {c\quad \Phi_{0}{\sum\limits_{j = 0}^{n - 1}{\Phi_{0}^{j}B\quad {{sgn}\left( \sigma_{k + n - j - 1} \right)}}}} \right\}}}$

Combining terms and taking the limit of the initial condition term leadsto $\begin{matrix}{{\lim\limits_{n\rightarrow\infty}\left\{ {{c\quad \Phi_{0}ɛ_{k + n}} + {c\quad {A\left( {R_{k + n + 1} - {\Phi \quad R_{k + n}}} \right)}}} \right\}} = {{\lim\limits_{n\rightarrow\infty}\left\{ {c{\sum\limits_{j = 0}^{n - 1}{\Phi_{0}^{j}{A\left( {R_{k + n - j} - {\Phi \quad R_{k + n - j - 1}}} \right)}}}} \right\}} - {\lim\limits_{n\rightarrow\infty}\left\{ {c\quad \Phi_{0}{\sum\limits_{j = 0}^{n - 1}{\Phi_{0}^{j}B\quad {{sgn}\left( \sigma_{k + n - j - 1} \right)}}}} \right\}}}} & (44)\end{matrix}$

From equations (35) and (36), the second term in equation (44) reducesto

cΦ ₀(I+Φ ₀)⁻¹ Bsgn(σ_(k)).

For the servo problem, the residual derivative term modulates theswitching action of σ. Equation (43) then simplifies to $\begin{matrix}{{- \left( {{c\quad B} + {c\quad {\Phi_{0}\left( {I + \Phi_{0}} \right)}^{- 1}B}} \right)} < {\lim\limits_{n\rightarrow\infty}\left\{ {c{\sum\limits_{j = 0}^{n - 1}{\Phi_{0}^{j}{A\left( {R_{k + n + 1 - j} - {\Phi \quad R_{k + n - j}}} \right)}}}} \right\}} < \left( {{c\quad B} + {c\quad {\Phi_{0}\left( {I + \Phi_{0}} \right)}^{- 1}B}} \right)} & (45)\end{matrix}$

 (cB+cΦ ₀(I+Φ ₀)⁻¹ B)  (45)

The magnitude of the middle term in equation (45) is more easilyevaluated in the z domain $\begin{matrix}{{{\lim\limits_{n\rightarrow\infty}\left\{ {c{\sum\limits_{j = 0}^{n - 1}{\Phi_{0}^{j}{A\left( {R_{k + n + 1 - j} - {\Phi \quad R_{k + n - j}}} \right)}}}} \right\}}} = \quad \quad {\left| \left. {c\left( {{\Phi_{0}^{0}{A\left( {{z\quad I} - \Phi} \right)}{R(z)}} + \quad {\Phi_{0}^{1}z^{- 1}{A\left( {{z\quad I} - \Phi} \right)}{R(z)}} + {\Phi_{0}^{2}z^{- 2}{A\left( {{z\quad I} - \Phi} \right)}{R(z)}} + \ldots} \right)} \right| \right. = \quad {\left| {{c\left( {\left( \frac{\Phi_{0}}{z} \right)^{0} + \left( \frac{\Phi_{0}}{z} \right)^{1} + \left( \frac{\Phi_{0}}{z} \right)^{2} + \ldots} \right)}{A\left( {{z\quad I} - \Phi} \right)}{R(z)}} \right| = \quad \left| \quad \left. c\quad {z\left( {{z\quad I} - \Phi_{0}} \right)}^{- 1}{A\left( {{z\quad I} - \Phi} \right)}{R(z)} \right| \right.}}} & (46)\end{matrix}$

where the geometric series in equation (46)$\left( {\left( \frac{\Phi_{0}}{z} \right)^{0} + \left( \frac{\Phi_{0}}{z} \right)^{1} + \left( \frac{\Phi_{0}}{z} \right)^{2} + \ldots} \right)$

converges to

z(zI−Φ ₀)⁻¹

The resulting bounds are therefore given as

|cz(zI−Φ ₀)⁻¹ A(zI−Φ)R(z)|<2(cB+cΦ ₀(I+Φ ₀)⁻¹ B)  (47)

Pseudo Derivative Reference Estimators

Equations (24) is the pseudo derivative reference (PDR) Λ_(k+1) andequations (25) and (26) set forth above disclose a technique forestimating the PDR Λ_(k+1) in the control law of equation (23). Thissection describes various alternative embodiments for estimating thepseudo derivative reference Λ_(k+1) through the use of aleast-mean-square algorithm.

In general, servo systems can be divided into three categories: systemswhere the reference is known, such as in robotic systems; systems wherethe reference is unknown but repeatable, such as the runout signal indisk storage systems; and systems where the reference is unknown andnon-repeatable. For the first type of systems where the reference isknown, the pseudo derivative reference Λ_(k+1) can be determined exactlyfrom equation (22)

Λ_(k+1) =c(R _(k+1) −ΦR _(k))(cΓ)⁻¹.

For systems where the reference is unknown, the pseudo derivativereference Λ_(k+1) must be estimated.

One embodiment for estimating the Λ_(k+1) when the reference is unknownand repeatable is shown in FIG. 15A. In this example, the servocontroller controls the motion of a read head in a disk storage system.The eccentricities of the disk storage medium 4 results in an unknownrepeatable perturbation of the static reference signal 27 of FIG. 1.This perturbation is referred to as “runout” and is modelled as a noisesignal 25 added 24 to the static reference signal 27 to generate theactual reference signal 18 for generating the position error phase stateε1 22. References of this type are harmonic in nature and are related tothe angular velocity of the disk. They can be modelled as$\begin{matrix}{R_{k} = {{\sum\limits_{n = 1}^{m}{{An}_{k}{\sin ({nwk})}}} + {{Bn}_{k}{\cos ({nwk})}}}} & (48)\end{matrix}$

where m is an integer greater than zero, the coefficients An and Bn areunknown, and w is the angular velocity of the disk 4 as determined froma speed transducer 132 (FIG. 15A).

Referring to FIG. 15A, the plant 134 represents the elements of therecording device (actuator, read head, spindle motor, read channel,etc.). The input to the plant 134 is a control signal U_(k) generated bysumming 136 the output of the sliding mode controller 26 (describedabove) and an estimated reference signal ER. The output of the plant isthe measured position of the read head 6 relative to the surface of thedisk 4. The detected angular velocity w is input into a sinusoidsynthesizer 134 which synthesize sinusoidal signals (and harmonics) ofthe form in equation (48). An observer 138 estimates the non-measurablesystem phase states: the position phase state ˜Xp and the velocity phasestate ˜Xv (or, alternatively, it may estimate the phase state errors).These phase states cannot be measured directly due to the effect of theunknown reference signal on these states. The input into the observer138 is a position error generated by subtracting 139 the position signalX output by the plant 134 from the estimated position phase state ˜Xpoutput by the observer 138. The estimated phase states ˜Xp and ˜Xv aresubtracted from static reference signals Rp and Rv at adders 140A and140B to generated a position error phase state ε1 _(k) and a velocityerror phase state ε2 _(k). Alternatively, for many classes of systemsthe higher order error phase states, such as the velocity error phasestate, may be estimated by taking the derivative of the position errorphase state.

The coefficients An and Bn of equation (48) are estimated by minimizingthe position error phase state ε1 _(k) using a least-mean-square (LMS)algorithm. A sinusoid synthesizer 142 synthesizes the sinusoidal signal(and harmonics) of equation (48) which are input into an LMS adaptor144. The LMS adaptor processes the sinusoidal signals output by thesynthesizer 142 and the position error phase state ε1 _(k) to computethe coefficients An and Bn of the estimated reference signal ERaccording to the following LMS algorithm${ER}_{k} = {{\sum\limits_{n = 1}^{m}{{An}_{k}{\sin ({nwk})}}} + {{Bn}_{k}{\cos ({nwk})}}}$An_(k + 1) = An_(k) + g  ɛ  1_(k)sin (nwk)Bn_(k + 1) = Bn_(k) + g  ɛ1_(k)cos (nwk)

where g is a predetermined gain constant. This technique minimizes theposition error, but leaves a residual modulation on Δ/(1+λ).

Adding the estimated reference ER to the control effort generated by thesliding mode controller 26 approximates the feed forward term Λ_(k+1) ofequation (23). Therefore, the hardware shown in FIG. 5B for generatingΛ_(k+1) is obviated.

Estimating the reference by minimizing the position error phase state ε1_(k) will induce a residual modulation on the sliding mode variableσ_(k) as it switches across the sliding line c. This is because the LMSalgorithm reduces the error in the estimated reference at specificfrequencies more than would be expected from the pseudo derivativereference term Λ_(k+1) alone. If no further adaptation is required, thisresidual modulation is acceptable; however, it is possible to attenuatethe modulation in σ_(k) by minimizing the error in σ_(k) rather thanminimizing the position error phase state ε1 _(k). This embodiment ofthe present invention is understood with reference to FIG. 15B.

FIG. 15B is essentially the same as FIG. 15A except that the LMS adaptorminimizes the error in σ_(k) rather than the position error phase stateε1 _(k). Thus, the LMS algorithm becomes${ER}_{k} = {{\sum\limits_{n = 1}^{m}{{An}_{k}{\sin ({nwk})}}} + {{Bn}_{k}{\cos ({nwk})}}}$${err}_{k} = {\sigma_{k} - {{{sgn}\left( \sigma_{k} \right)}\frac{\Delta}{\left( {1 + \lambda} \right)}}}$

 An _(k+1) =An _(k) +gerr_(k) sin(nwk)

Bn _(k+1) =Bn _(k) +gerr_(k) cos(nwk)

where the variables Δ an λ determine the nominal switching boundary forσ_(k) as described above with reference to the discrete-time slidingmode controller 26. This method increases the magnitude of the residualposition error within specification, but it essentially eliminates themodulation in σ_(k). In addition, it provides a better estimate of thepseudo derivative reference Λ_(k+1) than does the LMS method ofminimizing the position error phase state ε1 _(k).

If the reference signal is completely unknown (non-repeatable), then thepreferred method for estimating the reference is illustrated in FIG.15C. This method enhances the estimate of the pseudo derivativereference Λ_(k+1) described in equations (25) and (26) by taking thelocal derivative and adding it to the estimate yielding an increasinglybetter estimate of Λ_(k+1)

Λ_(k+1)≈Λ_(k)

Λ_(k+1)≈Λ_(k)+(Λ_(k)−Λ_(k−1))

 Λ_(k+1) ≈A _(k)Λ_(k) +B _(k)(Λ_(k)−Λ_(k−1))

where A and B are unknown coefficients. This technique may begeneralized to a predictor of m derivatives similar to the LMSalgorithms described above. In general, a one step predictor issufficient to minimize the modulation in σ_(k). If, however, thereference has higher frequency components, then this technique isextensible to higher order derivatives. The LMS adaptor of FIG. 15Ccomputes the coefficients A and B, and therefore the estimated referencesignal ER, according to

Λ_(k+1) =U _(k−1) −cΦ(cΓ)⁻¹ε_(k−1)+σ_(k)(cΓ)⁻¹${err}_{k} = {\sigma_{k} - {{{sgn}\left( \sigma_{k} \right)}\quad \frac{\Delta}{\left( {1 + \lambda} \right)}}}$

 A _(k+1) =A _(k) +g ₀err_(k)Λ_(k)

B _(k+1) =B _(k) +g ₁err_(k)(Λ_(k)−Λ_(k−1))

ER _(k) =A _(k)Λ_(k)−B_(k)(Λ_(k)−Λ_(k−1))

where g₀ and g₁ are predetermined gain constants. The above algorithmuses the past error states ε_(k−1), the past control effort U_(k−1), andthe current value of σ_(k) to generate the estimated reference signalER. It does not require any a priori knowledge of the reference, and itsconvergence speed can be increased by increasing the convergence factorsg₀ and g₁ (g₁ may be larger than g₀, corresponding to the slope of c).

Many changes in form and detail could be made without departing from theessential function of the present invention; the particular embodimentsdisclosed are not intended to be limiting. For instance, thediscrete-time sliding mode controller may be implemented in hardware orsoftware, and higher order phase states could be used in place of, or inaddition to, the particular phase states disclosed. These and othermodifications derived from the disclosed embodiment are within theintended scope of the present invention as properly construed from thefollowing claims.

We claim:
 1. A disk storage system comprising: (a) a disk storage mediumcomprising a plurality of data tracks recorded thereon; (b) a read headpositioned relative to the disk storage medium for reading data recordedin the data tracks; (c) a servo motor for controlling a position of theread head relative to the disk storage medium; (d) a servo controllerfor generating a motor control signal U applied to the servo motor,comprising: (i) a phase state generator for generating a discrete-timephase state signal X1 _(k) of the read head, the discrete-time phasestate signal X1 _(k) comprising sample values occurring at apredetermined interval T; (ii) a linear signal generator, responsive tothe discrete-time phase state signal X1 _(k), for generating a linearcontrol signal; (iii) a sliding mode signal generator, responsive to thediscrete-time phase state signal X1 _(k), for generating a sliding modecontrol signal; and (iv) a combiner for combining the linear controlsignal and the sliding mode control signal to generate the motor controlsignal U_(k).
 2. The disk storage system as recited in claim 1, wherein:(a) the linear signal generator generates the linear control signalaccording to: Ψε_(k) where Ψ is a constant and ε_(k) is a discrete-timephase state error signal generated from the discrete-time phase statesignal X1 _(k) and a reference signal R_(k); (b) the sliding mode signalgenerator generates the sliding mode control signal according to:μΔsgn(σ_(k)) where μ is a predetermined gain, Δ is a predeterminedconstant, σ_(k) is a sliding mode variable computed from thediscrete-time phase state error signal ε_(k), and sgn(σ_(k)) returns thesign of σ_(k); and (c) the combiner generates the motor control signalU_(k) according to: Ψε_(k)+μΔsgn(σ_(k)).
 3. The disk storage system asrecited in claim 2, wherein the reference signal R_(k) comprises a runout signal due to eccentricities of the disk storage system.
 4. The diskstorage system as recited in claim 1, wherein the sliding mode signalgenerator generates the sliding mode control signal according to:μΔsgn(σ_(k)) where μ is a predetermined gain, Δ is a predeterminedconstant, σ_(k) is a sliding mode variable computed from a discrete-timephase state error signal ε_(k) generated from the discrete-time phasestate signal X1 _(k) and a reference signal R_(k), and sgn(σ_(k))returns the sign of σ_(k).
 5. The disk storage system as recited inclaim 4, wherein the sliding mode variable σ_(k) is computed accordingto: σ_(k) =cε _(k) where ε_(k) is a plurality of discrete-time phasestate errors of the read head and c is a predetermined vector thatdefines a sliding line in a phase plane.
 6. The disk storage system asrecited in claim 5, wherein the plurality of discrete-time phase statesε_(k) comprises: (a) a position phase state error indicative of aposition error of the read head relative to a reference data track; and(b) a velocity phase state error indicative of a velocity error of theread head relative to a velocity reference.
 7. The disk storage systemas recited in claim 5, wherein the sliding mode variable σ_(k) changessign at substantially every sample index k.
 8. The disk storage systemas recited in claim 7, wherein the sliding mode variable σ_(k) issubstantially constrained to: −W<σ _(k) <+W where W is a predeterminedconstant.
 9. The disk storage system as recited in claim 7, wherein thesliding mode variable σ_(k) is substantially constrained to:σ_(k+1)=λσ_(k)Δsgn(σ_(k)) where λ is a predetermined constant and λ<1.10. The disk storage system as recited in claim 9, wherein the magnitudeof the sliding mode variable σ_(k) is substantially constrained to:|σ_(k)|≦Δ/(1+λ).
 11. The disk storage system as recited in claim 1,further comprising a reference estimator for estimating a referencesignal Λ_(k), wherein: (a) the linear signal generator generates thelinear control signal according to: Ψε_(k) where Ψ is a matrix and ε_(k)is a discrete-time phase state error vector generated from a pluralityof discrete-time phase state signals X_(k) of the read head and areference signal matrix R_(k); (b) the sliding mode signal generatorgenerates the sliding mode control signal according to: μΔsgn(σ_(k))where μ is a predetermined gain, Δ is a predetermined constant, σ_(k) isa sliding mode variable computed from the discrete-time phase stateerror vector ε_(k), and sgn(σ_(k)) returns the sign of σ_(k); and (c)the combiner generates the motor control signal U_(k) according to:Ψε_(k)+Λ_(k)+μΔsgn(σ_(k)).
 12. The disk storage system as recited inclaim 11, wherein: (a) σ_(k) is computed according to: σ_(k) =cX _(k)where c is a predetermined vector that defines a sliding line in a phaseplane; (b) the discrete-time phase states X_(k) of the read head aresubstantially modeled relative to the motor control signal U_(k)according to: X _(k+1) =ΦX _(k) +ΓU _(k) where Φ is a matrix and Γ is ascalar; and (c) the reference signal Λ_(k+1) is estimated according to:Λ_(k+1) ≈c(R _(k+1) −ΦR _(k))(cΓ)⁻¹.
 13. The disk storage system asrecited in claim 12, wherein the reference estimator estimates thereference signal Λ_(k+1) according to:  Λ_(k+1) ≈u _(k−1)−cΦ(cΓ)⁻¹ε_(k−1)+σ_(k)(cΓ)⁻¹.
 14. The disk storage system as recited inclaim 11, wherein the reference signal matrix R_(k) comprises a run outsignal due to eccentricities of the disk storage system.
 15. A diskstorage system comprising: (a) a disk storage medium comprising aplurality of data tracks recorded thereon; (b) a read head positionedrelative to the disk storage medium for reading data recorded in thedata tracks; (c) a servo motor for controlling a position of the readhead relative to the disk storage medium; (d) a servo controller forgenerating a motor control signal U applied to the servo motor,comprising: (i) a phase state generator for generating a discrete-timephase state signal X1 _(k) of the read head, the discrete-time phasestate signal X1 _(k) comprising sample values occurring at apredetermined interval T; (ii) a sliding mode signal generator,responsive to the discrete-time phase state signal X1 _(k), forgenerating a sliding mode signal for use in generating the motor controlsignal U_(k), the sliding mode signal computed according to:μΔsgn(σ_(k)) where μ is a predetermined gain, Δ is a predeterminedconstant, σ_(k) is a sliding mode variable computed from thediscrete-time phase state signal X1 _(k), and sgn(σ_(k)) returns thesign of σ_(k).
 16. The disk storage system as recited in claim 15,further comprising: (a) a linear signal generator for generating alinear control signal according to: Ψε_(k) where Ψ is a constant andε_(k) is a discrete-time phase state error signal generated from thediscrete-time phase state signal X1 _(k) and a reference signal R_(k);and (b) a combiner for combining the linear control signal and thesliding mode signal to generate the motor control signal U_(k) accordingto: Ψε_(k)+μΔsgn(σ_(k)).
 17. The disk storage system as recited in claim16, wherein the reference signal R_(k) comprises a run out signal due toeccentricities of the disk storage system.
 18. The disk storage systemas recited in claim 15, wherein the sliding mode variable σ_(k) iscomputed according to:  σ_(k) =cε _(k) where c is a predetermined vectorthat defines a sliding line in a phase plane and ε_(k) is a plurality ofdiscrete-time phase state errors of the read head.
 19. The disk storagesystem as recited in claim 18, wherein the plurality of discrete-timephase state errors ε_(k) comprises: (a) a position phase state errorindicative of a position error of the read head relative to a referencedata track; and (b) a velocity phase state error indicative of avelocity error of the read head relative to a velocity reference. 20.The disk storage system as recited in claim 18, wherein the sliding modevariable σ_(k) changes sign at substantially every sample index k. 21.The disk storage system as recited in claim 20, wherein the sliding modevariable σ_(k) is substantially constrained to: −W<σ _(k) <−W where W isa predetermined constant.
 22. The disk storage system as recited inclaim 20, wherein the sliding mode variable σ_(k) is substantiallyconstrained to: σ_(k+1)=λσ_(k)−Δsgn(σ_(k)) where λ is a predeterminedconstant and λ<1.
 23. The disk storage system as recited in claim 22,wherein the magnitude of the sliding mode variable σ_(k) issubstantially constrained to: |σ_(k)|≦Δ/(1+λ).
 24. The disk storagesystem as recited in claim 15, further comprising a reference estimatorfor estimating a reference signal Λ_(k) used to compute the motorcontrol signal U_(k).
 25. The disk storage system as recited in claim24, wherein: (a) the sliding mode variable σ_(k) is computed accordingto: σ_(k) =cε _(k) where c is a predetermined vector that defines asliding line in a phase plane and ε_(k) is a plurality of discrete-timephase state errors of the read head; (b) a plurality of discrete-timephase states X_(k) of the read head are substantially modelled relativeto the motor control signal U_(k) according to: X _(k+1) =ΦX _(k) ΓU_(k) where Φ is a matrix and Γ is a scalar; and (c) the reference signalΛ_(k+1) is estimated according to: Λ_(k+1) ≈c(R _(k+1) −ΦR _(k))(cΓ)⁻¹.26. The disk storage system as recited in claim 25, wherein thereference estimator estimates the reference signal Λ_(k+1) according to:Λ_(k+1) ≈U _(k−1) −cΦ(cΓ)⁻¹ε_(k−1)+σ_(k)(cΓ)⁻¹.